﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Controller; // Brug vores class library "Controller"
using System.IO;  // Bruges til at kunne tillades læsning og skrivning af filer og streams
using System.Net; // Bruges til WebRequest og WebResponse


namespace Sorts_F1
{
    public partial class FrmVisNyheder : Form
    {
        ClsSystemController systemController;

        public FrmVisNyheder(ClsSystemController systemController) // Modtager controlleren fra start formen
        {
            InitializeComponent();
            this.systemController = systemController; // Istedet for at instansiere en ny controller bruger vi den der bliver sendt med
            this.MinimumSize = this.MaximumSize = this.Size; // Sørg for at formen altid er den nuværende størrelse
        }

        private void FrmNyheder_Load(object sender, EventArgs e)
        {
            // Denne Koden er fundet på nettet og blevet modificeret til at kunnne tilpasse vores program.
            // Vi har forsøgt at tolke den, som vi tror den virker.

            string html;

            StringBuilder sb = new StringBuilder();
            // Stringbuilder er som en string der tilføjer tekst løbende

            byte[] buf = new byte[255];
            // byte er en lille INT, på 8 bit istedet for en int som normalt er på 16
            //Laver et array på 255

            HttpWebRequest request = (HttpWebRequest)
                WebRequest.Create("http://www.formula1.com/news/");
            // forbereder en hjemmeside som skal bruges senere

            HttpWebResponse response = (HttpWebResponse)
                request.GetResponse();
            // Man udfører efterspørgelsen

            Stream resStream = response.GetResponseStream();
            //Dataen læses via response steam 

            string tempString = null;
            int count = 0;

            do
            {
                // fyld bufferen med data
                count = resStream.Read(buf, 0, buf.Length);

                
                if (count != 0)
                {
                    // oversæt fra bytes til ASCII tekst
                    tempString = Encoding.ASCII.GetString(buf, 0, count);

                    // fortsæt string
                    sb.Append(tempString);
                }
            }

            while (count > 0); // Fortsæt så længe der er noget at læse

            // udskrivning af informationer

            html = sb.ToString();

            int FoersteNyhedStart = html.IndexOf("<span class=\"articleTitle\">");
            int FoersteNyhedStop = html.IndexOf("</span></a></h2>", FoersteNyhedStart);
            int FoersteNyhedLaengde = FoersteNyhedStop - FoersteNyhedStart;

            txtNyheder1.Text = html.Substring(FoersteNyhedStart + 61, FoersteNyhedLaengde - 123);

            string FjernUnoedvendigtTekstFoersteNyhed = txtNyheder1.Text;
            FjernUnoedvendigtTekstFoersteNyhed = txtNyheder1.Text.Replace("<br /><br />", "\r\n");
            txtNyheder1.Text = FjernUnoedvendigtTekstFoersteNyhed.Replace("&#x092;", "'");

            int SekundaerNyhedStart = html.IndexOf("<span class=\"articleTitle\">", FoersteNyhedStop);
            int SekundaerNyhedStop = html.IndexOf("</span></a></h2>", SekundaerNyhedStart);
            int SekundaerNyhedLaengde = SekundaerNyhedStop - SekundaerNyhedStart;

            txtNyheder2.Text = html.Substring(SekundaerNyhedStart + 61, SekundaerNyhedLaengde - 123);

        }

        private void btnTilbage_Click(object sender, EventArgs e)
        {
            this.Close(); // Lukker formen
        }
    }
}
